#ifndef __PACKAGEMANAGER_H__
#define __PACKAGEMANAGER_H__

#include "include/IPackageManager.h"

typedef std::vector<IPackageData*>		PackageVectorType;

class CPackageManager : public IPackageManager
{
protected:
	PackageVectorType	PackageList;

public:
	CPackageManager();
	virtual ~CPackageManager();

	s32 GetNewPackageID();
	virtual s32 LoadPackagesFromFile(stringc File);
	virtual s32 UpdateAllPackages();
	virtual IPackage *GetPackageForId(s32 Id);
	virtual s32 LoadNewPackage(stringc FileName);
	virtual s32 StartPackage(s32 IdPackage);
	virtual s32 UpdatePackage(s32 IdPackage);
	virtual s32 PausePackage(s32 IdPackage);
	virtual s32 StopPackage(s32 IdPackage);
	virtual s32 DestroyPackage(s32 IdPackage);

	virtual s32 ShowPackageDetails(s32 IdPackage);
};

#endif
